<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    
    // 3. 定义一个30项的数组，数组的每一项要求都是1~10之间的随机数，每间隔5个数字，求出这五个数的平均值
    
    // 定义一个30项的数组，数组的每一项要求都是1~10之间的随机数
    // var arr = new Array(30);
    var arr = [];
    for(var i=0;i<30;i++){
        arr[i] = random(1,10);
    }
    console.log(arr);

    for(var i=0;i<arr.length;i+=5){
        // 每间隔5个数字
        var sArr = arr.slice(i, i+5)
        // 求出这五个数的平均值
        var a = avg(sArr);
        // 打印
        console.log(a);
    }

    console.log("===============")
    
    // 4. 通过循环制造一个5 x 5的二维数组，这个数组中的数据是1~10之间的随机数，试编程
    // [
    //     [1,2,3,4,5],
    //     [1,2,3,4,5],
    //     [1,2,3,4,5],
    //     [1,2,3,4,5],
    //     [1,2,3,4,5]
    // ]

    var bigArr = [];
    for(var i=0;i<5;i++){
        var sArr = [];
        for(var j=0;j<5;j++){
            sArr[j] = random(1,10);
        }
        bigArr[i] = sArr;
    }
    console.log(bigArr);

    console.log("===============")

    // 5. 编写生成4个数字的随机验证码的函数
    // 思路：每次生成0~9之间的数字，生成四次，拼起来
    function randomNumber(){
        var str = "";
        for(var i=0;i<4;i++){
            str += random(0,9)
        }
        return (str);
    }
    console.log(randomNumber());

    console.log("===============")

    // 6. 编写生成4个数字字母混合的随机验证码的函数
    function randomString(){
        // 创建一个随机字符库：数字0，大写字母1，小写字母2，数字3，大写字母4，小写字母5
        var bigStr = "";
        for(var i=0;i<20;i++){
            bigStr += random(0,9);
            bigStr += String.fromCharCode(random(65, 90));
            bigStr += String.fromCharCode(random(97, 122));
        }
        // console.log(bigStr);

        // 从随机字符库中，随机取4个
        var str = "";
        for(var i=0;i<4;i++){
            var index = random(0, bigStr.length-1)
            str += bigStr[index];
        }
        // console.log(str)
        return str;
    }
    console.log(randomString());

    console.log("===============")


    // 7. 随机生成一个五位以内的数(0~99999)，然后输出该数共有多少位，每位分别是什么
    var num = random(0,99999);
    // 转字符
    var str = num.toString();
    console.log(num);
    console.log(str);
    console.log(str.length);
    for(var i=0;i<str.length;i++){
        console.log(str[i]);
    }

    console.log("===============")

    // 8. 编写一个函数，获得一个rgb的随机颜色的字符串（如rgb(123,216,45)）

    function randomRGB(){
        return "rgb(" + random(0,255) + "," + random(0,255) + "," + random(0,255) + ")";
    }
    console.log(randomRGB());




    // 求平均数的功能
    function avg(arr){
        var sum = 0;
        for(var i=0;i<arr.length;i++){
            sum += arr[i];
        }
        return sum / arr.length;
    }

    // 求随机数的功能
    function random(a,b){
        return Math.round(Math.random()*(a-b)+b);
    }
</script>
</html>